﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>StringMid</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../css/commands.css" rel="stylesheet" type="text/css">
<link href="../css/print.css" rel="stylesheet" type="text/css" media="print">
</head>
<body>

<h1>StringMid</h1>

<p>从字符串中指定的位置返回一个或多个字符。</p>

<p class="CommandSyntax">StringMid, OutputVar, InputVar, StartChar [, Count , L]<br>
NewStr := <a href="../Functions.htm#SubStr">SubStr</a>(String, StartPos [, Length]) <em>; 具体请查看 <a href="../Functions.htm#SubStr">SubStr() 函数</a> 。</em></p>
<h3>参数 </h3>
<table border="1" width="100%" cellspacing="0" cellpadding="3" bordercolor="#C0C0C0">
  <tr> 
    <td>OutputVar</td>
    <td>存储从 <em>InputVar</em> 中提取出来的子字符串的变量名。</td>
  </tr>
  <tr> 
    <td width="15%">InputVar</td>
    <td width="85%">被提取的字符串变量名。不要在变量名外加百分号，除非你想使用变量中的 <em>内容</em> 作为变量名。</td>
  </tr>
  <tr>
    <td>StartChar</td>
    <td>提取的起始位置，可以是 <a href="../Variables.htm#Expressions">expression/字符串</a> 。和 <a href="StringGetPos.htm">StringGetPos</a> 不同，1 代表第一个字符。如果 <em>StartChar</em> 小于1，会自动设置为 1 。如果 <em>StartChar</em> 大于字符串长度，<em>OutputVar</em> 会被设置为空。</td>
  </tr>
  <tr>
    <td>Count</td>
    <td><p>在 v1.0.43.10 之后的版本中，这个参数如果省略或留空，默认是一个足够存储所有字符的值。</p>
      <p>否则，该参数表示需要提取的字符数量，可以是 <a href="../Variables.htm#Expressions">expression/表达式</a>。如果 <em>Count</em> 小于或等于 0 ，<em>OutputVar</em> 会被设置为空。如果 <em>Count</em> 超过 <em>InputVar</em> 从 <em>StartChar</em> 开始之后的字符数量，<em>OutputVar</em> 会被设置为 <em>InputVar</em> 从 <em>StartChar</em> 开始之后的所有字符。</p></td>
  </tr>
  <tr>
    <td>L</td>
    <td><p>使用字母 L 可以从 <em>StartChar</em> 开始向左边提取字符，而不是默认的向右边。在下面的例子中，<em>OutputVar</em> 存储的是 <em>Red</em> ：<br>
      InputVar = The Red Fox<br>
    StringMid, OutputVar, InputVar, 7, 3, L</p>
    <p>如果使用了 L 这个参数，同时 <em>StartChar</em> 小于 1 ，<em>OutputVar</em> 会被设置为空。如果 <em>StartChar</em> 大于 <em>InputVar</em> 的长度，只有处于 <em>InputVar</em> 之中的字符会被提取。例如，下面的例子中 <em>OutputVar</em> 存储的是 <em>Fox</em> ：<br>
InputVar = The Red Fox<br>
StringMid, OutputVar, InputVar, 14, 6, L</p></td>
  </tr>
</table>

<h3>注意</h3>
<p>在这个命令以及所有其它命令中，<em>OutputVar</em> 可以和 <em>InputVar</em> 相同。</p>
<h3>相关命令</h3>
<p><a href="../Functions.htm#SubStr">SubStr()</a>, <a href="StringLeft.htm">StringLeft</a>, <a href="StringLeft.htm">StringRight</a>, <a href="StringTrimLeft.htm">StringTrimLeft</a>, <a href="StringTrimLeft.htm">StringTrimRight</a>, <a href="IfInString.htm">IfInString</a>, <a href="StringGetPos.htm">StringGetPos</a>, <a href="StringLen.htm">StringLen</a>, <a href="StringLower.htm">StringLower</a>, <a href="StringLower.htm">StringUpper</a>, <a href="StringReplace.htm">StringReplace</a></p>
<h3>示例</h3>
<pre class="NoIndent">Source = Hello this is a test. 
StringMid, the_word_this, Source, 7, 4</pre>

</body>
</html>
